package com.example.springbootv1.service;

import com.example.springbootv1.pojo.PojoTest;
import jakarta.servlet.http.HttpServletResponse;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface PojoTestService {
    /**
     * 查询列表
     * @return 对象列表
     */
    public List<PojoTest> getList();
    /**
     * 通过Id查询
     * @param id Id
     * @return 对象
     */
    public PojoTest queryById(Long id);
    /**
     * 新增数据
     * @param pojoTest 对象
     * @return 影响行数
     */
    public int insert(PojoTest pojoTest);

    /**
     * 更新数据
     * @param pojoTest 对象
     * @return 影响行数
     */
    public int update(PojoTest pojoTest);

    /**
     * 删除日志
     * @param id ID
     * @return 影响行数
     */
    public int deleteById(Long id);

    /**
     * 登录验证    多个参数传递到XML里面的方法
     * @param  登录名
     * @param  登录方法
     * @return 日志对象
     */
    PojoTest login(@Param("name") String name, @Param("charType") String charType);

    // 条件查询

    /**
     * 条件查询，搜索，模糊匹配，倒叙id输出
     * @param pojoTest
     * @return
     */
    List<PojoTest> getObjByObj(PojoTest pojoTest);

    /**
     * 分页查询
     * @param  pojoTest 对象
     * @return 分页对象列表
     */
    List<PojoTest> getByFenYe(PojoTest pojoTest);

    /**
     * 批量删除
     * @param ids 对象id列表
     * @return 影响行数
     */
    int deleteBatch(List<Long> ids);

    /**
     * 分页总记录数
     * @param pojoTest
     * @return
     */
    int getByFenYeCount(PojoTest pojoTest);
    /**
     * 日志导出excel
     */
    public void exportJobLevelExcel(String[] colHeadName, List<Object[]> listObject, HttpServletResponse response);

//    /**
//     * 批量查询
//     * @param ids
//     * @return
//     */
//    List<PojoTest> getBatch(Long[] ids);
}
